Skip to content

Remove recreational activities storyboard - #288

Merged
RDMurray merged 1 commit into
mainfrom
codex/remove-recreational-activities-storyboard
Jul 27, 2026
Merged

Remove recreational activities storyboard#288
RDMurray merged 1 commit into
mainfrom
codex/remove-recreational-activities-storyboard

Conversation

@RDMurray

@RDMurray RDMurray commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Summary

  • construct the recreational activity list and route-detail SwiftUI hosts programmatically
  • replace external storyboard navigation paths with explicit routing
  • remove the obsolete RecreationalActivities storyboard and related placeholders

Why

These screens already use SwiftUI hosts. Constructing them directly removes legacy storyboard wrappers and makes their navigation paths explicit.

Validation

  • Soundscape Debug arm64 simulator build succeeded
  • UnitTests passed
  • InterfaceBuilderAudit completed with no new stale references
  • project and storyboard validation passed
  • git diff --check passed

Manual testing required

  • Open Experiences from the menu, open an activity, navigate back, and verify Edit/Done and deletion with VoiceOver.
  • Trigger an activity deep link while Home, the menu, and another screen are visible; verify it returns to Home and opens the refreshed Experiences list.
  • With route guidance active, open route details from both the beacon toolbar and route-guidance banner; verify back navigation.
  • End route guidance before opening details and verify the app safely remains on the current screen.

Summary by CodeRabbit

  • New Features

    • Recreation activities now open through the updated navigation flow.
    • Active route details are presented directly from the current route.
    • Added improved handling when active route information is unavailable.
  • Refactor

    • Updated recreation activities and route details screens to use modern in-app presentation.
    • Removed obsolete storyboard-based navigation for these screens.
  • Documentation

    • Updated copyright attribution to Soundscape Community Contributors.

Construct the existing SwiftUI hosts programmatically and route all activity-list and active-route entry points without Interface Builder.

Manual tests required:
- Open Experiences from the menu; open an activity, navigate back, and verify Edit/Done and deletion with VoiceOver.
- Trigger an activity deep link while Home, the menu, and another screen are visible; verify it returns to Home and opens the refreshed Experiences list.
- With route guidance active, open route details from both the beacon toolbar and route-guidance banner; verify back navigation.
- End route guidance before opening details and verify the app safely remains on the current screen.

Automated validation completed:
- Soundscape Debug simulator build
- UnitTests: 66 passed
- InterfaceBuilderAudit --only candidates --kind all --format text
@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Recreation and route-details navigation now instantiate SwiftUI hosting controllers directly. Storyboard scenes and segues for recreation are removed, while active-route lookup and explicit hosting-controller initializers handle route-details presentation.

Changes

Programmatic hosting navigation

Layer / File(s) Summary
Programmatic hosting controller construction
apps/ios/GuideDogs/Code/Visual UI/Views/Authored Activities/AuthoredActivitiesListHostingController.swift, apps/ios/GuideDogs/Code/Visual UI/Views/Route Details/RouteDetailsViewHostingController.swift
Hosting controllers now use explicit SwiftUI-backed initializers, unavailable coder initializers, and active-route factory construction.
Recreation navigation path
apps/ios/GuideDogs/Code/Visual UI/View Controllers/Home/HomeViewController.swift, apps/ios/GuideDogs/Code/Visual UI/Views/main.storyboard
Home presents AuthoredActivitiesListHostingController directly across navigation states, and the recreation storyboard scene and segue are removed.
Route details entry points
apps/ios/GuideDogs/Code/Visual UI/Helpers/View Controller Representable/AnyViewControllerRepresentable.swift, apps/ios/GuideDogs/Code/Visual UI/Views/Beacon/BeaconToolbarView.swift
Route guidance and beacon details create RouteDetailsViewHostingController directly, with optional active-route lookup.
Estimated code review effort: 3 (Moderate) ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant HomeViewController
  participant AuthoredActivitiesListHostingController
  participant AuthoredActivitiesList
  HomeViewController->>AuthoredActivitiesListHostingController: show recreation activities
  AuthoredActivitiesListHostingController->>AuthoredActivitiesList: inject navigation helper and storage
Loading
sequenceDiagram
  participant BeaconToolbarView
  participant RouteDetailsViewHostingController
  participant RouteDetailsView
  BeaconToolbarView->>RouteDetailsViewHostingController: makeForActiveRoute()
  RouteDetailsViewHostingController->>RouteDetailsView: initialize with active RouteGuidance
  RouteDetailsViewHostingController-->>BeaconToolbarView: return view controller
Loading
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the removal of the Recreational Activities storyboard and related storyboard-based navigation.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/remove-recreational-activities-storyboard

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@RDMurray
RDMurray marked this pull request as ready for review July 21, 2026 23:41
@RDMurray
RDMurray force-pushed the codex/remove-recreational-activities-storyboard branch from 80e068e to cb3610a Compare July 26, 2026 21:27
@RDMurray RDMurray changed the title Remove recreational activities and Voice Settings storyboards Remove recreational activities storyboard Jul 26, 2026
@RDMurray
RDMurray merged commit 483597d into main Jul 27, 2026
2 checks passed
@RDMurray
RDMurray deleted the codex/remove-recreational-activities-storyboard branch July 27, 2026 20:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant